var hs_urls = new Array();

$.extend({
	hs : {
		/** 获取IE版本，非IE返回false */
		ie : function(){
			// IE版本 http://julying.com/blog/determine-the-version-number-of-ie-with-javascript/
			var v = 3, div = document.createElement('div'), all = div.getElementsByTagName('i');
		    while (
		        div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
		        all[0]
		    );
		    return v > 4 ? v : false ;
		},
		/** 添加自定义样式 */
		link : function(url){
			$("<link type='text/css' rel='stylesheet'>").attr("href", url).appendTo($("head")); 
		},
		/**
		 * ajax请求
		 * @param $tag	填充的html容器
		 * @param url	请求地址
		 * @param data		键值对数据
		 * @param type		请求类型 默认get，post
		 */
		ajax : function($tag, url, data, type) {
			$.ajax({
				url: url,
				data: data,
				type: type,
				//cache: false,
				ifModified: true,
				success: function(responseText) {
//					var ed = url.indexOf('?');
//					if(ed > 0){
//						alert(url.substring(0, ed));
//					}
					//"../url".charAt(position)
					
//					if(responseText.length <= 20 && responseText.substring(0, 3) == "is:") {
//						if(responseText.substring(3)==".."){
//							alert("成功！");
//							hs_cursor--;
//							hs_urls.length = hs_urls.length - 1;
//							$.hs.ajax($("#main"), hs_urls[hs_cursor]);
//							return;
//						}
//					}
					$tag.html(responseText);
					//表格  鼠标经过 紧缩 响应式 全选
					{
						var $table = $tag.find("table");
						$table.addClass("table table-hover table-condensed table-responsive");
						$table.find(".hs-check-idleader").click(function(){
							var isChecked = $(this).prop('checked');
							$table.find(".hs-check-id").prop('checked', isChecked);
						});
					}
					//为删除增加提示框
					$tag.find(".hs-cf-delete").each(function(){
						$(this).on("click", function(e) {
							if(!confirm("是否要删除该项?")) {
								//停止继续执行其他事件
								e.stopImmediatePropagation();
								e.preventDefault();
							}
						});
					});
					$tag.find(".hs-cf-deletes").each(function(){
						$(this).on("click", function(e) {
							if(!confirm("是否要删除这些项?")) {
								//停止继续执行其他事件
								e.stopImmediatePropagation();
								e.preventDefault();
							}
						});
					});
					$tag.find(".hs-cancel").each(function(){
						$(this).on("click", function(e) {
//							if(!confirm("是否要放弃已经编写的内容?")) {
//								//停止继续执行其他事件
//								e.stopImmediatePropagation();
//								e.preventDefault();
//							}
						});
					});
					//表单验证
					$tag.find("form").on("submit", function(e) {
						if(!$(this).valid()) {
							e.stopImmediatePropagation();
							e.preventDefault();
						}
					});
//					$tag.find('*').on("click", function(e){
//						e.stopPropagation();
//					});
//					$tag.find('.hs-edit').each(function(){
//						var $a = $(this);
//						$a.parentsUntil("tbody", "tr").css('cursor', 'pointer').on("click", function(e){
//							$a.click();
//						});
//					});
					//添加提示框
					$tag.find('[data-toggle="tooltip"]').tooltip();
					///$tag.find('button[type=submit], input[type=submit]').parent("form")
					
					$.hs.change2($tag, $("#main"));
				},
				statusCode: {
					200: function(responseText, status, jqXHR) {
						//取消loadding动画
						$("#hs-state").children().remove();
					},
					403: function() {
						$("#hs-state").children().remove();
					 	alert("您没有访问权限！");
					},
					404: function() {
						$("#hs-state").children().remove();
					 	alert("找不到页面！");
					},
					500: function() {
						$("#hs-state").children().remove();
						alert("服务器错误！");
					}
				}
			});
		},
		
		/** 将表单和超链接修改为AJAX提交 */
		change2 : function($linksContainer, $changeContainer){
			$changeContainer = $changeContainer === undefined ? $("#main") : $changeContainer;
			change2Ajax($linksContainer, $changeContainer);
			
			function change2Ajax($linksContainer, $changeContainer, useAjax) {
				useAjax = useAjax === undefined ? true : useAjax;
				//将class属性为offajax的锚点和提交按钮，排除在ajax传输之外
				$linksContainer.children().each(function(){
					var child = $(this);
					if (child.is("a") && useAjax && child.attr("href").substring(0, 1) != "#" && child.attr("href") != "javascript:void(0)") {
						child.on("click", function(e){
							var url = $(this).attr("href");							
							$.hs.ajax($changeContainer, url);
							//停止浏览器默认行为（超链接）
							e.preventDefault();
						});
					} else if (child.is("form") && useAjax) {
						var $form = child;
						$form.on("submit", function(e) {
							//验证通过后才将数据提交到服务端
							var url = $form.attr("action");
							$.hs.ajax($changeContainer, url, $form.serialize(), $form.attr("method"));
							//停止浏览器默认行为（提交）
							e.preventDefault();
						});
					} else if (child.is(':submit')) {
						child.on('click', function(){
							var $this = $(this);
							if ($this.attr('formaction') != null) {
								$this.parents('form').eq(0).attr('action', $this.attr('formaction'));
							}
						});
					}
					//如果没有改变状态的ajaxclass，则继续保持父元素的状态
					var childUseAjax = useAjax;
					if (child.hasClass("offAjax")) {
						childUseAjax = false;
					} else if (child.hasClass("onAjax")) {
						childUseAjax = true;
					}
					//递归
					change2Ajax(child, $changeContainer, childUseAjax);
				});
			}
		}
	}	
});

(function($){     
	$.fn.extend({     
		hs : {
			
		}
	});
})(jQuery); 

/** js不被执行 */
function addScript(url) {
	$('<script type="text/javascript"></script>').attr('src', url).appendTo($("head")); 
}